<template>
	<view>
		<dialog-shell ref="shell" title="用户登录" confirm-text="登录" @confirm="confirmLogin">

			<image src="../../static/icon.png" mode="aspectFill" class="icon"></image>
			<text class="welcome">WELCOME!</text>
			<br>
			<text class="info-register" @click="clickGoRegister">还没注册账号？请注册</text>
			<view class="login-container">
				<input type="username" placeholder="请输入用户名" placeholder-class="input-holder" :value="userValue"
					@input="inputGetUser">

				<text class="iconfont icon-yonghu ic-user"></text>
			</view>
			<view class="login-container">
				<input v-if="isPwd" :value="pwdValue" type="text" placeholder="请输入密码" placeholder-class="input-holder"
					@input="inputGetPwd">

				<input v-else :value="pwdValue" type="password" placeholder="请输入密码" placeholder-class="input-holder"
					@input="inputGetPwd">

				<text :class="isPwd ? 'iconfont icon-chakan ic-pwd-status' : 'iconfont icon-buchakan ic-pwd-status' "
					@click="clickSwtich"></text>

				<text class="iconfont icon-mima ic-user"></text>

			</view>
		</dialog-shell>
	</view>
</template>

<script>
	export default {
		name: "login-dialog",

		data() {
			return {
				isPwd: true,
				pwdValue: "",
				userValue: ""
			};
		},
		mounted() {
			let userInfo = uni.getStorageSync("userLoginInfo")
			if (userInfo) {
				this.userValue = userInfo.username
				this.pwdValue = userInfo.password
			}
		},
		methods: {
			clickGoRegister() {
				uni.navigateTo({
					url: '../../pages/register/register',
					success: res => {
						this.$refs.shell.clickToHide()
					},
					fail: () => {},
					complete: () => {}
				});
			},
			show() {
				this.$refs.shell.show();
			},
			clickSwtich() {
				this.isPwd = !this.isPwd
			},
			inputGetPwd(e) {
				this.pwdValue = e.detail.value
			},
			inputGetUser(e) {
				this.userValue = e.detail.value
			},

			confirmLogin() {

				if (this.userValue.length == 0 || this.pwdValue.length == 0) {
					uni.showToast({
						title: '请输入用户名密码',
						icon: 'none'
					});
					return
				}
				let url = this.$params.host + this.$params.user_login
				let data = {
					username: this.userValue,
					password: this.pwdValue,
				}
				this.$request.post(url, data, res => {
					// console.log(res);
					uni.showToast({
						title: res.message,
						icon: 'none'
					});
					if (!res.success) {
						this.$refs.shell.show()
						this.usrValue = ''
						this.pwdValue = ''
						return
					}
					uni.setStorageSync("userLoginInfo", data)

					let app = getApp();
					app.globalData.uid = res.data.id;
					app.globalData.token = res.data.token;
					app.globalData.avatar = res.data.avatar;
					app.globalData.type = res.data.type;
					app.globalData.nickName = res.data.nickName;
					app.globalData.userName = res.data.userName;
					app.globalData.email = res.data.email;
					// console.log(app);
					// this.$emit("afterLogin");
					this.$noti.post(this.$params.noti_login_status);
				}, () => {})

			}
		}

	}
</script>

<style>
	@import url("login-dialog.css");
</style>
